﻿var $PerfilErrorMsg;
var $valPerfil;
var $areas_pesquisar;

$(function(){

	$areas_pesquisar = $("#form_perfil_pesquisar");
	$valPerfil		 = $("#perfil_form");

	getPerfis(1);
	getStatus("#cmb_cod_status");
	getStatus("#cmb_cod_area");
	getStatus("#cmb_cod_cargo");

	$(".keypress").on("keypress",function(e){
		var code = e.keyCode || e.which;
		if(code == 13) { //Enter keycode
			getPerfis(1);
		}
	});

	$inputNome				 =	$("input#nome");
	var $PerfilErrorMsg		 =	"<br>Erro ao inserir!";

	$valPerfil.validate({
		rules:{
            cmb_cod_area:{
                // campoNome será obrigatorio (required) e terá tamanho minimo (minLength)
                required: true               
            },
            cmb_cod_cargo:{
                // campoNome será obrigatorio (required) e terá tamanho minimo (minLength)
                required: true               
            },
            cmb_cod_status:{
                required: true
            }                      
        },
        // Define as mensagens de erro para cada regra
        messages:{
            cmb_cod_area:{
                required	: "<br>Selecione a área"
            },
            cmb_cod_cargo:{
                required	: "<br>Selecione o cargo"
            },
            cmb_cod_status:{
                required	: "<br>Selecione o status"
            }                       

        },
		submitHandler: function(form) {
			bi.LightboxExibe({lightbox: "load"});
			validarCombinacao();
		}
	});

	$areas_pesquisar.validate({
        submitHandler: function(form){
	        getPerfis(1);
        }
	});
});


function pesquisar(){
	$areas_pesquisar.submit();
	return false;
}

function gravar(){
	$valPerfil.submit();
	return false;
}

function abreLgh(editar){
    if(editar == 0){
        $("#cod_perfil").attr("value","0");
        $("#cmb_cod_area").attr("value","");
        $("#edit_area").css("display","");
        $("#view_area").css("display","none");

        $("#cmb_cod_cargo").attr("value","");
        $("#edit_cargo").css("display","");
        $("#view_cargo").css("display","none"); 

        $("#cmb_cod_status").attr("value","");
        $("#edit_status").css("display","");
        $("#view_status").css("display","none");
        $("#botoes").css("display","");
    }
    bi.LightboxExibe({lightbox: "lgt_novo"});
    return false;
}


function validarCombinacao(){

	bi.LightboxExibe({lightbox: "load"});
	$.ajax({
		type : 'POST',
		dataType: "text",
		url : 'ajax/perfil_pesquisar.asp?acao=validarCombinacao',
		data : {cod_perfil: $("input#cod_perfil").attr("value"), cmb_cod_area : $("select#cmb_cod_area").attr("value"), cmb_cod_cargo: $("select#cmb_cod_cargo").attr("value")},
		success : function(data){
			if (data){
				var inf = eval("(" + data + ")");
				bi.LightboxEsconde({lightbox: "load"});
				if(inf.data.status_retorno == "false"){
					bi.Alertas({tipo : 'erro', texto : 'Combinação de cargo e área existente!!',titulo : 'Aviso'})	
				}else{
					$.ajax({
						type : 'POST', 
						url  : 'ajax/insere.asp?acao=setPerfil',
						data : {
						cod_area			    : $("select#cmb_cod_area").attr("value"),
						cod_cargo			    : $("select#cmb_cod_cargo").attr("value"),
						cod_status			    : $("select#cmb_cod_status").attr("value"),
						cod_perfil			    : $("input#cod_perfil").attr("value")
						},
						success : function(data){
							bi.LightboxEsconde({lightbox: "lgt_novo"});
							bi.Alertas({tipo : 'sucesso', texto : 'Dados cadastrado com sucesso!',titulo : 'Aviso'})
							bi.LightboxEsconde({lightbox: "load"});
							getPerfis($("input#pagina").attr("value"));
						}
					});					
				}		    
				
			}
		},
		error : function (error){
			bi.LightboxEsconde();
			alert(error.responseText);
		} 
	});
}

function getEditarPerfil($cod_perfil){

	bi.LightboxExibe({lightbox: "load"});
	$.ajax({
		type : 'POST',
		dataType: "text",
		url : 'ajax/perfil_pesquisar.asp?acao=getEditarPerfil',
		data : {cod_perfil : $cod_perfil},
		success : function(data){
			if (data){
				var inf = eval("(" + data + ")");
				bi.LightboxExibe({lightbox: "lgt_novo"});
				bi.LightboxEsconde({lightbox: "load"});

				$("#cod_perfil").attr("value",inf.data.cod_perfil);
				if(inf.data.cod_usuario_tipo == 1){
					//Area
					$('#inf_cadastro_area').html(inf.data.desc_area);
					$("#edit_area").css("display","none");					
					$("#view_area").css("display","");

					//cargo
					$('#inf_cadastro_cargo').html(inf.data.desc_cargo);
					$("#edit_cargo").css("display","none");					
					$("#view_cargo").css("display","");	

					//status
					$('#inf_cadastro_status').html(inf.data.desc_status);
					$("#edit_status").css("display","none");					
					$("#view_status").css("display","");

					$("#botoes").css("display","none");

				}else{				

					$("#cmb_cod_area").attr("value",inf.data.cod_area);
					$("#edit_area").css("display","");
					$("#view_area").css("display","none");

					$("#cmb_cod_cargo").attr("value",inf.data.cod_cargo);
					$("#edit_cargo").css("display","");
					$("#view_cargo").css("display","none");	

					$("#cmb_cod_status").attr("value",inf.data.cod_status_perfil);
					$("#edit_status").css("display","");
					$("#view_status").css("display","none");	

					$("#botoes").css("display","");					
				}

				
			}
		},
		error : function (error){
			bi.LightboxEsconde();
			alert(error.responseText);
		} 
	});
	return false;
}

function getStatus(tipo){
	$.ajax({
		type : 'POST',
		url  : 'ajax/perfil_pesquisar.asp',
		data : {acao : 'getStatus', tipo: tipo},
		success : function(data){
			$(tipo).html(data);
		}
	});
}


function getPerfis($pg_sel){
	bi.LightboxExibe({lightbox: "load"});
	$.ajax({
		type : 'POST',
		dataType : 'text',
		url  : 'ajax/perfil_pesquisar.asp',
		data : {
			filtro_area 	: $("#filtro_area").val(),
			filtro_cargo 	: $("#filtro_cargo").val(),
			pg_sel			: $pg_sel,
			acao			: "getPerfis"
		},
		success : function(data){
			$("#retorno_perfis").html(data);
			$("#filtro_area").attr("value",$("#filtro_area").val());
		    $("#filtro_cargo").attr("value",$("#filtro_cargo").val());
			bi.LightboxEsconde({lightbox: "load"});
		},
		error : function (error){
			bi.LightboxEsconde({lightbox: "load"});
			alert(error.responseText);
		}
	});
	return false;
}
